﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TeamCommunitySolution.Modules.Venues.Requests;
using TeamCommunitySolution.Modules.Venues.Responses;

namespace TeamCommunitySolution.Modules.Venues
{
    public interface VenueManager
    {
        /// <summary>
        /// Creates the venue.
        /// </summary>
        /// <param name="venueRequest">The venue request.</param>
        /// <returns>Venue Response.</returns>
        VenueResponse CreateVenue(VenueRequest venueRequest);

        /// <summary>
        /// Updates the venue.
        /// </summary>
        /// <param name="updateRequest">The update request.</param>
        /// <returns>Venue Response.</returns>
        VenueResponse UpdateVenue(VenueRequest updateRequest);

        /// <summary>
        /// Deletes the venue.
        /// </summary>
        /// <param name="deleteRequest">The delete request.</param>
        VenueResponse DeleteVenue(VenueRequest deleteRequest);

        /// <summary>
        /// Gets the venue by id.
        /// </summary>
        /// <param name="getRequest">The get request.</param>
        /// <returns>Venue Response.</returns>
        VenueResponse GetVenueById(VenueRequest getRequest);
    }
}
